﻿Public Class CuentaCorrienteDAO

    Public Shared Function CuentaCorrienteInsertarMovimiento(ByVal CuentaCorrienteFarmaciaId As Integer, ByVal CuentaCorrienteTipoMovimientoId As Integer, ByVal CuentaCorrienteMontoCredito As Double, ByVal CuentaCorrienteMontoDebito As Double, ByVal CuentaCorrienteFecha As Date, ByVal CuentaCorrienteObservacion As String) As Boolean

        'Si o si le tengo que pasar el tipo movimiento y la farmacia. Si no el usp tira error.
        Dim cn As SqlClient.SqlConnection = Nothing
        Try
            cn = Conexion.Conectar
            Dim consulta As New SqlClient.SqlCommand
            With consulta
                .CommandText = "usp_CuentaCorrienteFarmacia_Insertar"
                .CommandType = CommandType.StoredProcedure
                With .Parameters
                    .AddWithValue("@CuentaCorrienteFarmaciaId", CuentaCorrienteFarmaciaId).DbType = DbType.Int32
                    .AddWithValue("@CuentaCorrienteTipoMovimientoId", CuentaCorrienteTipoMovimientoId).DbType = DbType.Int32
                    .AddWithValue("@CuentaCorrienteMontoCredito", CuentaCorrienteMontoCredito).DbType = DbType.Double
                    .AddWithValue("@CuentaCorrienteMontoDebito", CuentaCorrienteMontoDebito).DbType = DbType.Double
                    .AddWithValue("@CuentaCorrienteFecha", CuentaCorrienteFecha).DbType = DbType.Date
                    .AddWithValue("@CuentaCorrienteObservacion", CuentaCorrienteObservacion).DbType = DbType.String
                End With
                .Connection = cn
                .ExecuteNonQuery()
            End With
            Return True
        Catch ex As Exception
            'GUARDAMOS EL ERROR EN LA BD
            ErrorDAO.insertarError(ex)
            Return False
        Finally
            Conexion.Desconectar(cn) 'PASAR POR PARAMETRO LA CONEXION
        End Try
    End Function

    Public Shared Function obtenerCuentaCorrienteFarmacia(ByVal CuentaCorrienteFarmaciaId As Integer, ByVal CuentaCorrienteFechaDesde As Date, ByVal CuentaCorrienteFechaHasta As Date) As DataTable
        Dim cn As SqlClient.SqlConnection = Nothing
        Try
            cn = Conexion.Conectar
            Dim ds As New DataSet
            Dim da As New SqlClient.SqlDataAdapter("usp_CuentaCorrienteFarmacia_ObtenerXFarmacia", cn)
            da.SelectCommand.CommandType = CommandType.StoredProcedure
            da.SelectCommand.Parameters.AddWithValue("@CuentaCorrienteFarmaciaId", CuentaCorrienteFarmaciaId).DbType = DbType.Int32
            da.SelectCommand.Parameters.AddWithValue("@FechaDesde", CuentaCorrienteFechaDesde).DbType = DbType.Date
            da.SelectCommand.Parameters.AddWithValue("@FechaHasta", CuentaCorrienteFechaHasta).DbType = DbType.Date
            da.Fill(ds, "CuentaCorriente")

            Return ds.Tables("CuentaCorriente")
        Catch ex As Exception
            'GUARDAMOS EL ERROR EN LA BD
            ErrorDAO.insertarError(ex)
            Return Nothing
        Finally
            Conexion.Desconectar(cn) 'PASAR POR PARAMETRO LA CONEXION
        End Try
    End Function


End Class
